Skip to content

Conversation

@kcreddy
Copy link
Contributor

@kcreddy kcreddy commented Nov 18, 2025

Proposed commit message

prisma_cloud: Add misconfiguration and vulnerability data streams for CDR

Add 2 new data streams for fetching misconfigurations and vulnerabilities 
from Prisma Cloud API.

- ECS mapping and transforms have been added to facilitate with the
  Elastic Cloud Native Vulnerability Management (CNVM)[1] and Cloud Security Posture Management (CSPM)[2] workflow.
- Minimum version constraints are raised as per Elasticsearch PR[3].
- Added dashboards for new data streams.
- Updated markdown to links panel in all dashboards.
- Test sample logs in this PR are taken from live data of Prisma 
  Cloud (anonymised).

[1] https://www.elastic.co/guide/en/security/current/vuln-management-overview.html
[2] https://www.elastic.co/docs/solutions/security/cloud/cloud-security-posture-management
[3] https://github.com/elastic/elasticsearch/pull/138218

Checklist

  • I have reviewed tips for building integrations and this pull request is aligned with them.
  • I have verified that all data streams collect metrics or logs.
  • I have added an entry to my package's changelog.yml file.
  • I have verified that Kibana version constraints are current according to guidelines.
  • I have verified that any added dashboard complies with Kibana's Dashboard good practices

How to test this PR locally

  • Both pipeline and system tests pass.

    ```
    --- Test results for package: prisma_cloud - START ---
    ╭──────────────┬──────────────────┬───────────┬──────────────────────────────────────────────────────┬────────┬──────────────╮
    │ PACKAGE      │ DATA STREAM      │ TEST TYPE │ TEST NAME                                            │ RESULT │ TIME ELAPSED │
    ├──────────────┼──────────────────┼───────────┼──────────────────────────────────────────────────────┼────────┼──────────────┤
    │ prisma_cloud │ misconfiguration │ pipeline  │ (ingest pipeline warnings test-misconfiguration.log) │ PASS   │     443.47ms │
    │ prisma_cloud │ misconfiguration │ pipeline  │ test-misconfiguration.log                            │ PASS   │   59.59125ms │
    │ prisma_cloud │ vulnerability    │ pipeline  │ (ingest pipeline warnings test-vulnerability.log)    │ PASS   │ 407.008666ms │
    │ prisma_cloud │ vulnerability    │ pipeline  │ test-vulnerability.log                               │ PASS   │  65.164875ms │
    ╰──────────────┴──────────────────┴───────────┴──────────────────────────────────────────────────────┴────────┴──────────────╯
    --- Test results for package: prisma_cloud - END   ---
    Done
    ```
    
  • Transforms install correctly (see screenshot below).

  • Transforms have no authorisation error (see screenshot below).

Related issues

Screenshots

Screenshot 2025-11-26 at 3 53 53 PM Screenshot 2025-11-26 at 3 53 21 PM

Dashboards

Logs Prisma Cloud  Misconfiguration Logs Prisma Cloud  Vulnerability

@kcreddy kcreddy changed the title Add template prisma_cloud: Add misconfiguration and vulnerability data streams for CDR Nov 18, 2025
@kcreddy kcreddy self-assigned this Nov 18, 2025
@andrewkroh andrewkroh added the Integration:prisma_cloud Palo Alto Prisma Cloud label Nov 18, 2025
@elastic-vault-github-plugin-prod
Copy link

elastic-vault-github-plugin-prod bot commented Nov 24, 2025

🚀 Benchmarks report

Package prisma_cloud 👍(2) 💚(3) 💔(2)

Expand to view
Data stream Previous EPS New EPS Diff (%) Result
alert 2824.86 2304.15 -520.71 (-18.43%) 💔
host_profile 3039.51 2336.45 -703.06 (-23.13%) 💔

To see the full report comment with /test benchmark fullreport

@kcreddy kcreddy marked this pull request as ready for review November 25, 2025 05:21
@kcreddy kcreddy requested a review from a team as a code owner November 25, 2025 05:21
@kcreddy kcreddy added Team:Security-Service Integrations Security Service Integrations team [elastic/security-service-integrations] Category: CDR labels Nov 25, 2025
@elasticmachine
Copy link

Pinging @elastic/security-service-integrations (Team:Security-Service Integrations)

@kcreddy kcreddy marked this pull request as draft November 25, 2025 05:23
@kcreddy kcreddy changed the title prisma_cloud: Add misconfiguration and vulnerability data streams for CDR prisma_cloud: Add misconfiguration and vulnerability data streams for CDR workflow Nov 25, 2025
@kcreddy kcreddy marked this pull request as ready for review November 25, 2025 11:11
@andrewkroh andrewkroh added documentation Improvements or additions to documentation. Applied to PRs that modify *.md files. breaking change labels Nov 25, 2025
copy_from: prisma_cloud.misconfiguration.scanned_policy.name
ignore_empty_value: true
- set:
field: rule.uuid
Copy link
Contributor

@alexreal1314 alexreal1314 Nov 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kcreddy @maxcold I checked and we are still querying by resource.id and rule.id instead of the unique rule.uuid fields to get the document to display in the misconfiguration flyout. Since docs produced by this integration are not containing such field flyouts are unable to open correctly.

image

i would suggest for now to use to copy the rule.uuid to rule.id field as currently doing it for consistency only (using uuid) is possible, but associated with risks and might affect our native integration.

Copy link
Contributor Author

@kcreddy kcreddy Nov 27, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done. Added rule.id from rule.uuid.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kcreddy thanks, could you update the env with the changes? I would like to test also the contextual flow/alerts flyout.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done ✅

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@maxcold @kcreddy another weird issue that I see is Resource Type column is empty. after doing some research turns out we render the resource.sub_type under this column. Is it intentional?

prisma:
image

wiz:

image

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@alexreal1314, resource.name is populated for Misconfigurations and only missing in Vulnerabilities workflow, which was discussed in the sheet.
Also, we don't have a rule.description field in the API data. Since its not Must Have, we have omitted it.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kcreddy yep i meant resouce.id, I see that its currently missing.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Regarding rendering sub_type as Resource Type I think it is intentional and in line with out native integration. The sub type is more specific usually (when type and sub_type are not the same ofc) but for users we want to present only one field as Type . So that's why from data point of view it looks a bit off, but in the end users might not need this type/sub_type complexity. In our native type is more of group thing. Like monitoring is type and sub type is azure-network-watchers-flow-log so seeing monitoring in data grid isn't that helpful

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kcreddy yep i meant resouce.id, I see that its currently missing.

@alexreal1314, I just looked into security_solution-* indices and resource.id is present in all of them. Could it be that there's a bug in the Findings page, that you are not able to see it there?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kcreddy LGTM besides the resource.sub_type which is missing, but I guess its not a blocker.

@andrewkroh andrewkroh added the dashboard Relates to a Kibana dashboard bug, enhancement, or modification. label Dec 1, 2025
headers:
Content-Type:
- "application/octet-stream"
body: '{{file "/sample_logs/prisma-cloud-vulnerability.csv.gz"}}'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add final new line.

),
"next": {
?"access_token": has(body.nextPageToken) ? optional.of(state.next.access_token) : optional.none(),
?"pageToken": has(body.nextPageToken) ? optional.of(body.nextPageToken) : optional.none(),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
?"pageToken": has(body.nextPageToken) ? optional.of(body.nextPageToken) : optional.none(),
?"pageToken": body.?nextPageToken,

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in 6f33f5d

[]
),
"next": {
?"access_token": has(body.nextPageToken) ? optional.of(state.next.access_token) : optional.none(),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just checking that this is right. We're keeping the next access token that we had if there is a next page token? I think this is something that needs a little explanatory note.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is correct. I added a comment.

want_more: false
redact:
fields:
- user
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to redact the user?

want_more: false
redact:
fields:
- user
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to redact this?

- append:
field: tags
value: preserve_original_event
allow_duplicates: false No newline at end of file
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add final new line.

- append:
field: tags
value: preserve_original_event
allow_duplicates: false No newline at end of file
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add final new line.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in 6f33f5d

@efd6
Copy link
Contributor

efd6 commented Dec 3, 2025

Can you add an explanation for the source of the new test inputs?

@kcreddy
Copy link
Contributor Author

kcreddy commented Dec 4, 2025

Can you add an explanation for the source of the new test inputs?

@efd6, do you mean sample logs? I got them from the live data of Prisma Cloud.

@elasticmachine
Copy link

💚 Build Succeeded

History

cc @kcreddy

@kcreddy kcreddy requested a review from efd6 December 4, 2025 06:03
@efd6
Copy link
Contributor

efd6 commented Dec 4, 2025

do you mean sample logs? I got them from the live data of Prisma Cloud.

Thanks, can you note that in the proposed commit message?

@kcreddy kcreddy merged commit 8ec8f45 into elastic:main Dec 4, 2025
8 checks passed
@elastic-vault-github-plugin-prod

Package prisma_cloud - 4.0.0 containing this change is available at https://epr.elastic.co/package/prisma_cloud/4.0.0/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking change Category: CDR dashboard Relates to a Kibana dashboard bug, enhancement, or modification. documentation Improvements or additions to documentation. Applied to PRs that modify *.md files. Integration:prisma_cloud Palo Alto Prisma Cloud Team:Security-Service Integrations Security Service Integrations team [elastic/security-service-integrations]

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Palo Alto Prisma Cloud: Implement transform for Cloud Security Workflows Palo Alto Prisma Cloud: Implement mappings for Cloud Security Workflows

6 participants